# 参数引用、值传递
"""
    引用关系：
         getrefcount

         del  变量；表示删除了一个应用
    值传递：
        必须要分区可变类型还是不可变类型。
        如果是可变：外边就能看到可变
        如不可变：外边看不到里面的变化

"""
import sys

print("引用关系".center(40, '#'))
a = 10
b = a
c = a
print(id(a))
print(id(b))
print(id(c))

print(sys.getrefcount(a))  # 引用数量
print("列表指针".center(30, '-'))
lst = [123, 12, 124, 124]  # 引用地址赋值
lst1 = lst
lst2 = lst

print(sys.getrefcount(lst))  # 检测引用指针数量

print("值传递".center(40, '#'))


def test(v):
    for i in range(v):
        print("------------->", i)
    v += 1


n = 9
test(9)
print(n)


def inst(l):
    if isinstance(l, list):
        l.insert(0, 8)
    else:
        print("类型不对!")


inst(lst)
print(lst)
